package com.m3958.logcollector.datacommons.repository;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.m3958.logcollector.datacommons.util.AllParams;
import com.m3958.logcollector.datacommons.util.KeyAndCount;

public interface M3958DataRepository<T> {
    Page<T> findQ(AllParams q, Pageable pageable);
    
    T updateByPayload(JsonNode payload, Long id) throws JsonProcessingException;
    
    List<KeyAndCount> keyAndCount(AllParams q);
}
